package model;

import java.io.Serializable;

import javax.persistence.*;

import dto.VoloDTO;
import util.Converter;


/**
 * The persistent class for the Volo database table.
 * 
 */
@Entity
@Table(name="Volo")
@NamedQuery(name="Volo.findAll", query="SELECT v FROM Volo v")
public class Volo implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private int idElementoBase;

	private String cittàArrivo;

	private String cittàPartenza;

	private String compagnia;

	private int numVolo;
	
	@OneToOne
	@JoinColumn(name="idElementoBase",insertable=false, updatable=false)
	private ElementoBase elemento;

	public Volo() {
	}
	
	public Volo(VoloDTO dto,boolean crea) {
		this.cittàArrivo = dto.getCittàArrivo();
		this.cittàPartenza = dto.getCittàPartenza();
		this.compagnia = dto.getCompagnia();
		this.idElementoBase = dto.getIdElementoBase();
		this.numVolo = dto.getNumVolo();
	}
	
	public Volo(VoloDTO dto) {
		this.cittàArrivo = dto.getCittàArrivo();
		this.cittàPartenza = dto.getCittàPartenza();
		this.compagnia = dto.getCompagnia();
		this.idElementoBase = dto.getIdElementoBase();
		this.numVolo = dto.getNumVolo();
		this.elemento = Converter.convertFromDTO(dto.getElemento());
	}


	public int getIdElementoBase() {
		return this.idElementoBase;
	}

	public void setIdElementoBase(int idElementoBase) {
		this.idElementoBase = idElementoBase;
	}

	public String getCittàArrivo() {
		return this.cittàArrivo;
	}

	public void setCittàArrivo(String cittàArrivo) {
		this.cittàArrivo = cittàArrivo;
	}

	public String getCittàPartenza() {
		return this.cittàPartenza;
	}

	public void setCittàPartenza(String cittàPartenza) {
		this.cittàPartenza = cittàPartenza;
	}

	public String getCompagnia() {
		return this.compagnia;
	}

	public void setCompagnia(String compagnia) {
		this.compagnia = compagnia;
	}

	public int getNumVolo() {
		return this.numVolo;
	}

	public void setNumVolo(int numVolo) {
		this.numVolo = numVolo;
	}

	public ElementoBase getElemento() {
		return elemento;
	}

	public void setElemento(ElementoBase elemento) {
		this.elemento = elemento;
	}
	
	

}